// 用户上滑页面 滚动条触底 开始加载下一页数据
// 1.找到滚动条触底事件
// 2.判断还有没有下一页数据
    // 1.获取到数据总页数 只有总条数
    // 总页数 = Math.ceil(总条数 / 页容量 pagesize)
    // 总页数 = Math.ceil(23/10)=3
    // 2.获取到当前页码 pagenum
    // 判断一下 当前的页码是否大于等于 总页数
    // 表示没有下一页数据
// 3.接入没有下一页数据 弹出一个提示
// 4.假如还有下一页数据 来加载下一页数据
     // 1.当前页码++
    //  2.重新发送请求
    // 3.数据请求回来 要对data钟大哥数组进行拼接 而不是全部替换！！ ！
// 2.下拉刷新页面
    // 1.出发下拉刷新事件 需要在页面的json文件中开启一个配置项
    // 找到 出发下拉刷新的事件
    // 2.重置 数据 数组
    // 3.重置页码 设置为1
    // 4重新发送请求
    // 5.数据请求回来 需要手动的关闭 等待效果

import {request} from "../../request/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

   
    data: {
tabs:[
    {
        id:0,
        value:"综合",
        isActive:true
    },  {
        id:1,
        value:"销量",
        isActive:false
    },
    {
        id:2,
        value:"价格",
        isActive:false
    }
   
],
goodsList:[]
    },
    // 接口要的参数
    QueryParams:{
query:"",
cid:"",
pagenum:1,
pagesize:10
    },
// 总页数
    totalPages:1,
    onLoad: function (options) {
this.QueryParams.cid = options.cid;
this.getGoodsList();


  
    },
    // 获取商品列表的数据
async getGoodsList(){
const res = await request({url:"/goods/search",data:this.QueryParams})
// 获取一下总条数
const total = res.total;
this.totalPages = Math.ceil(total/this.QueryParams.pagesize)
// console.log(this.totalPages);
this.setData({
    // 拼接了数组
    goodsList:[...this.data.goodsList,...res.goods]
    
})
// 关闭下拉刷新的窗口 如果没有调用下拉刷新的窗口 直接关闭也不会报错
wx.stopPullDownRefresh();
  
},
//    标题点击事件 从子组件传递过来的
handleTabsItemChange(e){
    // 获取被点击标题索引
    const {index} = e.detail;
    // 2修改源数组
    let {tabs}=this.data;
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
    this.setData({
        tabs
    })
},
// 页面上滑 滚动条触底事件
onReachBottom(){
// 判断还有没有下一页数据
if(this.QueryParams.pagenum>=this.totalPages){
// 没有下一页数据
// console.log('没有下一页数据');
wx.showToast({title: '没有下一页数据了'});
  
}else{
    // 还有下一页数据
    // console.log('还有下一页数据');
    this.QueryParams.pagenum++;
    this.getGoodsList();
}
},
// 下拉刷新事件
onPullDownRefresh(){
    // 1.重置数组
    this.setData({
        goodsList:[]
    })
    // 2.重置页码
    this.QueryParams.pagenum=1
    // 3.发送请求
    this.getGoodsList();
}
})